#!/usr/bin/env python
# -*- coding:utf-8 -*-
import socket
import os

ip_port = ('127.0.0.1',9999)
sk = socket.socket()
sk.connect(ip_port)

while True:
    # 客户端输入要上传文件的路径
    path = raw_input('path:')
    # 根据路径获取文件名
    file_name = os.path.basename(path)
    # 获取文件大小,st_size是os.stat(path)的一个属性值
    file_size=os.stat(path).st_size
    # 发送文件名 和 文件大小
    sk.send('%s|%s' %(file_name,file_size))
    # 为了防止粘包，将文件名和大小发送过去之后，等待服务端收到，直到从服务端接受一个信号（说明服务端已经收到）
    sk.recv(1024)
    send_size = 0
    f= file(path,'rb')
    Flag = True
    while Flag:
        if send_size + 1024 >file_size:   #file_size-send_size<1024,最后一次发送
            data = f.read(file_size-send_size)
            Flag = False
        else:
            data = f.read(1024)     #每次发送1024
            send_size+=1024
        sk.send(data)
    f.close()

sk.close()